package com.tudouji.project.d3.service;

import java.util.List;
import com.tudouji.project.d3.domain.LogisticRule;

/**
 * 发货地址配置Service接口
 * 
 * @author tudouji
 * @date 2023-10-20
 */
public interface ILogisticRuleService 
{
    /**
     * 查询发货地址配置
     * 
     * @param id 发货地址配置ID
     * @return 发货地址配置
     */
    public LogisticRule selectLogisticRuleById(Long id);

    /**
     * 查询发货地址配置列表
     * 
     * @param logisticRule 发货地址配置
     * @return 发货地址配置集合
     */
    public List<LogisticRule> selectLogisticRuleList(LogisticRule logisticRule);

    /**
     * 新增发货地址配置
     * 
     * @param logisticRule 发货地址配置
     * @return 结果
     */
    public int insertLogisticRule(LogisticRule logisticRule);

    /**
     * 修改发货地址配置
     * 
     * @param logisticRule 发货地址配置
     * @return 结果
     */
    public int updateLogisticRule(LogisticRule logisticRule);

    /**
     * 批量删除发货地址配置
     * 
     * @param ids 需要删除的发货地址配置ID
     * @return 结果
     */
    public int deleteLogisticRuleByIds(Long[] ids);

    /**
     * 删除发货地址配置信息
     * 
     * @param id 发货地址配置ID
     * @return 结果
     */
    public int deleteLogisticRuleById(Long id);

    /**
     * 通过规则获取发货地址
     * @param logisticsOrderNo
     */
    public String getSendFromByRule(String logisticsOrderNo) throws Exception;
}
